home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / newton_d < prev    next >
Internet Message Format  |  1995-03-31  |  3KB

  1. From: David Nurser <itb625nurser@qut.edu.au>
  2. Subject:  v04i031:  newton_dn - Newton's method for finding roots v1.0, Part01/01
  3. Newsgroups: comp.sources.hp48
  4. Followup-To: comp.sys.hp48
  5. Approved: spell@seq.uncwil.edu
  6.  
  7. Checksum: 2668451257 (verify with brik -cv)
  8. Submitted-by: David Nurser <itb625nurser@qut.edu.au>
  9. Posting-number: Volume 4, Issue 31
  10. Archive-name: newton_dn/part01
  11.  
  12. BEGIN_DOC newton.doc
  13. *********************************
  14. NEWTON's METHOD FOR FINDING ROOTS
  15.  
  16. Accepts: 
  17.  
  18. 3: Equation (Variable = "X")
  19. 2: Accuracy (Eg. 4 ...decimal places)
  20. 1: Starting position
  21.  
  22. Returns :
  23.  
  24. 3: Your Equation
  25. 2: "Xr    F(Xr)   F'(Xr)"
  26. 1: A matrix containg all values calculated (good for exams!)
  27.  
  28. This is a small and simple newton root finder program...It is reasonably fast,
  29. and halts execution if it doesn't find the root to your accuracy after
  30. 20 calculations.
  31.  
  32. Provides the working so it can easily be copied (as occasionally required
  33. in exams).
  34.  
  35. Have any problems...contact me at ITB625NURSER@redgum.qut.edu.au (Internet)
  36. END_DOC
  37.  
  38.  
  39. BEGIN_RPL newton.rpl
  40. %%HP: T(3)A(D)F(.);
  41. \<< 'X' PURGE \-> EQ
  42. ACC START
  43.   \<< EQ DUP 'X' \.d 1
  44. \-> EQ1 COUNT
  45.     \<< START 'X' STO
  46. [[ 0 0 0 ]]
  47.       DO COUNT { 3
  48. } + RDM COUNT 1 - 3
  49. * 1 + X DUP 4 ROLLD
  50. PUT COUNT 1 - 3 * 2
  51. + EQ \->NUM DUP 4
  52. ROLLD PUT COUNT 1 -
  53. 3 * 3 + EQ1 \->NUM
  54. DUP 4 ROLLD PUT 4
  55. ROLLD / - 'COUNT'
  56. INCR DROP
  57.       UNTIL EQ \->NUM
  58. SWAP 'X' STO ABS
  59. ACC ALOG INV <
  60. COUNT 20 > OR
  61.       END COUNT 20
  62.       IF >
  63.       THEN
  64. "NO SOLUTIONS FOUND"
  65.       ELSE
  66. "Xr  F(Xr)  F'(Xr)"
  67. SWAP
  68.       END
  69.     \>>
  70.   \>> 'X' PURGE
  71. \>>
  72. END_RPL
  73.  
  74.  
  75. BEGIN_ASC newton.asc
  76. %%HP: T(3)A(D)F(.);
  77. "D9D20E16324563284E20108597632EFE021C432D6E20205415D6E2030143434D
  78. 6E20503545142545E1632D6E2020541578BF14563284E20108597632E7FE19C2
  79. A21C432D6E2030541513D6E205034F455E445E1632D6E2050354514254545632
  80. 84E20108597632DCC028E9209400033920200001000030000000000000000000
  81. 0000000000000000000000000000000003C032D6E205034F455E44547A203F2A
  82. 2B213076BA1FD0D1D6E205034F455E4459C2A290DA13F2A2EEDA19C2A276BA18
  83. 4E20108578BF1803A20DCF1704D1D6E205034F455E4459C2A290DA13F2A2EEDA
  84. 1ED2A276BA1D6E202054154E5A178BF1803A20DCF1704D1D6E205034F455E445
  85. 9C2A290DA13F2A2EEDA13F2A276BA1D6E20305415134E5A178BF1803A20DCF17
  86. 04D1803A20DCF150FA190DA145632D6E205034F455E445976324F8028DBF1DE0
  87. 32D6E202054154E5A1DBBF14563284E20108597632DCC02F1AA1D6E203014343
  88. 4D3AB1872B1EBBE1D6E205034F455E445339201000000000000020D5CE1908E1
  89. 9B632D6E205034F455E4453392010000000000000203CE22D5CE1AFE22C2A209
  90. 2000E4F40235F4C4554594F4E4350264F455E4445BF22D9D20C2A20720008527
  91. 020264828527920202647282852792DBBF1B21305DF22EF532EF5324563284E2
  92. 0108597632EFE0293632B2130A778"
  93. END_ASC
  94.  
  95.  
  96. BYTES: #877Ah 503
  97.  
  98. BEGIN_UU newton.uue
  99. begin 644 newton
  100. M2%!(4#0X+46=+>!A(U0V@N0"`5AY-N+O(,$TTN8"`D51;2XP$#0TU.8"!5-4
  101. M05)4'C;2Y@("15&'^T%E(T@N$("59R-^[Y$L*L$TTN8"`T51,6TN4##T5.5$
  102. MY6$C;2Y0,$45)$5%92-(+A"`E6<CS0R"G@))`#"3`@(`$````P``````````
  103. M```````````````````````P#"-M+E`P]%3E1$6G`O.BLA(#9ZOQ#1UM+E`P
  104. M]%3E1)4L*@FM,2\J[JV1+"IGJX'D`@%8A_N!,"K0_'%`'6TN4##T5.5$E2PJ
  105. M":TQ+RKNK>$M*F>KT>8"`D51Y*5QN!\(HP+-'P?4T>8"!4-/54Y4R:*2T!KS
  106. MHN+>&O.B<K8:;2XP4!050UX:A_N!,"K0_'%`'0BC`LT?!:^1T!I4-M+F`@5#
  107. M3U5.5'DV0H\@V/O1#B-M+B!0%$5>&KW[064C2"X0@)5G(\T,\J$:;2XP$#0T
  108. MU*,;>++ANQYM+E`P]%3E1#63`@$````````"7>R1@!ZY-M+F`@5#3U5.5#,I
  109. M$````````"`P[")=[*'O(BPJD`(`3D\@4T],551)3TY3($9/54Y$M2_2V0(L
  110. M*G`"`%AR("!&*%AR*2`@1B<H6'(IO?NQ$@/5+^)?(_XU0F4C2"X0@)5G(_X.
  111. &DF,C*S$`
  112. `
  113. end
  114. END_UU
  115.